package com.gzsxy.esjy.service.auth.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gzsxy.esjy.service.auth.entity.User;
import com.gzsxy.esjy.service.auth.entity.vo.UserQueryVo;
import com.gzsxy.esjy.service.base.dto.request.UserRequest;
import com.gzsxy.esjy.service.base.dto.response.UserRsp;
import com.gzsxy.esjy.service.base.util.Page;

import java.util.List;

public interface UserService extends IService<User> {

    /**
     * @description: 注册用户
     * @param
     * @return
     */
    void registerUser(UserRequest userRequest);

    /**
     * @description: 根据id查询用户信息
     * @param
     * @return
     */
    UserRsp getUserById(String id);

    /**
     * @description: 修改用户
     * @param
     * @return
     */
    UserRsp editUser(UserRequest userRequest);



    /**
     * @description: 查询所有的用户
     * @param
     * @return
     */
    IPage<UserRsp> getPageVo(Page<?> page, UserQueryVo userQueryVo);




    /**
     * @description: 商家审核成功注册账户
     * @param
     * @return
     */
    void verify(String id, Integer status);

    /**
     * @description: 删除用户
     * @param
     * @return
     */
    void deleteUser(String id);

    /**
     * @description: 根据微信登录id获取账户
     * @param
     * @return
     */
    UserRsp getByOpenid(String openid);

    /**
     * @description: 根据当天日期查看注册用户人数
     * @param
     * @return
     */
    Integer selectRegisterNumByDay(String day);
}
